연결 연산자와 기본 도형
2D 평면기하 / 연결 연산자와 기본 도형
2.2 연결 연산자와 기본 도형
점들이 정의되면 이를 화면에 시각화하기 위해 연결 연산자와 도형 지시어를 조합합니다.
선분 연결 연산자
-- 연산자는 두 개 이상의 점을 일직선으로 잇는 기하 경로를 만듭니다.
line: A--B, thick=2pt, color=#black
line: 지시어는 지정된 경로를 화면에 출력합니다. 옵션을 통해 선의 스타일을 변경할 수 있습니다. thick은 선의 두께를 지정하며, 점선을 표현할 때는 dash 옵션에 그어질 길이와 빈 공간의 길이를 묶어 전달합니다.
line: C--D, stroke=1pt, dash=(4pt, 2pt)
이 코드는 4포인트 길이의 선과 2포인트 길이의 여백이 반복되는 점선을 렌더링합니다.
다각형 지시어
닫힌 다각형을 그릴 때는 poly: 지시어를 사용합니다.
poly: A--B--C--D, stroke=1.5pt, fill=#red/10
poly:는 나열된 점들을 순서대로 연결한 후, 마지막 점 D와 첫 점 A를 자동으로 닫힌 선으로 이어 내부 영역을 생성합니다. 면에 색을 넣지 않고 외곽선만 그릴 때는 fill 옵션을 생략하면 됩니다.
정다각형을 그릴 때는 꼭짓점을 일일이 계산할 필요 없이 regular_poly() 함수를 활용합니다.
poly: regular_poly(center=(0,0), r=3, n=6), rot=15deg, stroke=1.2pt
center는 외접원의 중심, r은 외접원 반지름, n은 변의 개수입니다. rot 옵션을 통해 전체 다각형을 특정 각도만큼 회전시켜 배치할 수 있습니다.
원과 타원 지시어
원은 중심과 반지름을 지정하거나, 지름의 양 끝점을 지정하여 그립니다.
// 중심과 반지름으로 정의
circle: center=A, r=3
// 두 점을 지름으로 하는 원 정의
circle: diam=B--C, stroke=1.2pt, stroke=dash
타원은 중심 좌표와 함께 가로 반지름 rx, 세로 반지름 ry, 그리고 회전 각도 rot를 부여합니다.
ellipse: center=(0, 0), rx=4, ry=2, rot=30deg, stroke=1.5pt
원호와 베지에 곡선
원의 일부인 호를 그릴 때는 arc() 함수를 draw: 지시어와 함께 호출합니다.
draw: arc(center=(0,0), r=2, 30deg..120deg), stroke=1.5pt
마지막 인자에 .. 범위 연산자를 사용하여 시작 각도와 끝 각도를 지정합니다.
복잡한 유선형 곡선이나 부드러운 연결선은 제어점을 이용하는 3차 베지에 곡선 문법인 path:를 사용합니다.
path: A .. controls(C1, C2) .. B, stroke=2pt
이 문법은 점 A에서 출발하여 제어점 C1과 C2의 곡률 유도를 받아 점 B에 도달하는 매끄러운 곡선을 렌더링합니다.